Попытка объяснить это более описательно,
Операция 1:
x = [[0, 0], [0, 0]]
print(type(x)) # <class 'list'>
print(x) # [[0, 0], [0, 0]]
x[0][0] = 1
print(x) # [[1, 0], [0, 0]]
Операция 2:
y = [[0] * 2] * 2
print(type(y)) # <class 'list'>
print(y) # [[0, 0], [0, 0]]
y[0][0] = 1
print(y) # [[1, 0], [1, 0]]
Заметил, почему не изменяется первый элемент первого списка не изменил второй элемент каждого списка? Это потому, что [0] * 2
действительно представляет собой список из двух чисел, и ссылка на 0 не может быть изменена.
Если вы хотите создать копии клонов, попробуйте выполнить операцию 3:
import copy
y = [0] * 2
print(y) # [0, 0]
y = [y, copy.deepcopy(y)]
print(y) # [[0, 0], [0, 0]]
y[0][0] = 1
print(y) # [[1, 0], [0, 0]]
еще один интересный способ создания копий клонов, операция 4:
import copy
y = [0] * 2
print(y) # [0, 0]
y = [copy.deepcopy(y) for num in range(1,5)]
print(y) # [[0, 0], [0, 0], [0, 0], [0, 0]]
y[0][0] = 5
print(y) # [[5, 0], [0, 0], [0, 0], [0, 0]]
Это даст вам очертания состояния зеленым цветом с прозрачным серым наложением:
map(database= "state", col="green", fill=FALSE)
map(database= "usa", col="#AAAAAA22", fill=TRUE,lty=0,add=TRUE)
(добавлено значение «альфа» для серого цвета, чтобы границы «отображались» ... см. ?rgb
и ?col2rgb
.) Это добавляет ярлыки, но очень беспорядочно и с дополнительными областями:
map.text(database="state", add=TRUE) # Not advised
Я думаю, что потребуется дополнительная работа с набором данных state
в наборе наборов данных для сопоставления аббревиатуры к государственным центрам.
?state
Это показалось эффективным, хотя вы можете сделать текст немного меньшим с помощью cex = 0.6:
text(x=state.center$x, y=state.center$y, state.abb) # better
[/g0]
С некоторой дополнительной настройкой вы можете удалить часть границы, перезаписав ее белым:
map(database= "state", col="green", fill=FALSE)
map(database= "usa", col="#FFFFFF", fill=FALSE,add=TRUE, lwd=1.5) # the overwrite of boundary
map(database= "usa", col="#AAAAAA22", fill=TRUE,lty=0,add=TRUE) # note the transparency
text(x=state.center$x, y=state.center$y, state.abb, cex=0.5)
[/g1]