Python lập trình tên biến

Tôi chỉ tự hỏi nếu có ai biết cách thay đổi tên biến dựa trên vòng lặp cho một cái gì đó như thế này

Nội dung chính Hiển thị

  • Làm thế nào để bạn thay đổi tên biến trong vòng lặp trong Python?
  • Chúng ta có thể thay đổi tên biến trong vòng lặp không?
  • Làm thế nào để bạn thay thế các tên biến trong Python?
  • Làm thế nào để bạn tạo ra một động lực thay đổi trong Python?

for i in range[3]
     group+i=self.getGroup[selected, header+i]

sao cho tên của các biến thay đổi để chứa dữ liệu. Cảm ơn

~Sam

S. lô tô

378K79 Huy hiệu vàng503 Huy hiệu bạc773 Huy hiệu Đồng79 huy hiệu vàng503 huy hiệu bạc773 huy hiệu đồng

Đã hỏi ngày 29 tháng 6 năm 2009 lúc 19. 38 29 tháng 6 năm 2009 lúc 19. 38

1

Bạn có thể muốn một lệnh thay thế vì các biến riêng biệt. Ví dụ

d = {}
for i in range[3]:
    d["group" + str[i]] = self.getGroup[selected, header+i]

Nếu bạn nhấn mạnh vào việc sửa đổi các biến cục bộ, bạn có thể sử dụng hàm

d = {}
for i in range[3]:
    d["group" + str[i]] = self.getGroup[selected, header+i]
2.
for i in range[3]:
    locals[]["group"+str[i]] = self.getGroup[selected, header+i]

Mặt khác, nếu những gì bạn thực sự muốn là sửa đổi các biến thể hiện của lớp bạn đang ở, thì bạn có thể sử dụng hàm

d = {}
for i in range[3]:
    d["group" + str[i]] = self.getGroup[selected, header+i]
3____5

Và tất nhiên, tôi giả sử với tất cả các ví dụ mà bạn không chỉ muốn một danh sách

groups = [self.getGroup[i,header+i] for i in range[3]]

Đã trả lời ngày 29 tháng 6 năm 2009 lúc 19. 43 29 tháng 6 năm 2009 lúc 19. 43

Eli Courtwrighteli Courtwright Eli Courtwright

Phim thương hiệu vàng 180K6666 huy hiệu vàng209 huy hiệu bạc256 huy hiệu đồng

2

Use a list

groups = [0]*3
for i in xrange[3]:
    groups[i] = self.getGroup[selected, header + i]

or more than "pythonical"

________số 8

Đối với những gì nó có giá trị, bạn có thể cố gắng tạo ra các biến theo cách "sai", tức là bằng cách sửa đổi từ điển giữ giá trị của chúng

l = locals[]
for i in xrange[3]:
    l['group' + str[i]] = self.getGroup[selected, header + i]

Nhưng đó thực sự là hình thức xấu, và thậm chí có thể không chắc chắn để làm việc

Đã trả lời ngày 29 tháng 6 năm 2009 lúc 19. 45 29 tháng 6 năm 2009 lúc 19. 45

David Zdavid z David Z

125K26 Huy hiệu vàng249 Huy hiệu bạc275 Huy hiệu Đồng26 huy hiệu vàng249 huy hiệu bạc275 huy hiệu đồng

Chắc chắn nên sử dụng một lệnh bằng cách sử dụng từ khóa "nhóm" + str [i] như được mô tả trong giải pháp được chấp nhận nhưng tôi muốn chia sẻ một giải pháp bằng Exec. Đó là một cách để phân tích các chuỗi vào lệnh và thực hiện chúng một cách linh hoạt. Nó sẽ cho phép tạo các biến tên vô hướng này theo yêu cầu của bạn thay vì sử dụng một lệnh. Điều này có thể giúp liên quan đến những điều không nên làm, và chỉ vì bạn không thể có nghĩa là bạn nên làm. Đó là một giải pháp tốt chỉ khi sử dụng các biến vô hướng là một yêu cầu khó

d = {}
for i in range[3]:
    d["group" + str[i]] = self.getGroup[selected, header+i]
0

Một ví dụ khác trong điều này có thể hoạt động bằng ví dụ mô hình Django. Giải pháp thay thế EXEC được chấp nhận và cách xử lý trường hợp sao cho tốt hơn bằng cách sử dụng thuộc tính Dict có ý nghĩa hơn. thuộc tính dict có ý nghĩa hơn

d = {}
for i in range[3]:
    d["group" + str[i]] = self.getGroup[selected, header+i]
1

Nó có thể có ý nghĩa hơn để mở rộng từ điển ở nơi đầu tiên để có các hàm SETATTR và GETATTR

Một vấn đề liên quan đến phân tích cú pháp, ví dụ như tạo và thực thi lệnh Python một cách linh hoạt, Exec là những gì bạn muốn. ] Add on Exec at here

Đã trả lời ngày 29 tháng 5 năm 2014 lúc 15. 52 29 Tháng Năm, 2014 lúc 15. 52

Radtekradtek radtek

32. 4K11 Huy hiệu vàng138 Huy hiệu bạc110 Huy hiệu đồng11 huy hiệu vàng138 huy hiệu bạc110 huy hiệu đồng

Có vẻ như bạn muốn sử dụng một danh sách thay thế

d = {}
for i in range[3]:
    d["group" + str[i]] = self.getGroup[selected, header+i]
0

Đánh dấu Roddy

26. 3K19 Huy hiệu vàng66 Huy hiệu bạc71 Huy hiệu đồng19 huy hiệu vàng66 huy hiệu bạc71 huy hiệu đồng

Đã trả lời ngày 29 tháng 6 năm 2009 lúc 19. 43 29 tháng 6 năm 2009 lúc 19. 43

Eli Courtwrighteli Courtwright Greg Hewgill

Phim thương hiệu vàng 180K66178 huy hiệu vàng1133 huy hiệu bạc1267 huy hiệu đồng

2

Use a list

d = {}
for i in range[3]:
    d["group" + str[i]] = self.getGroup[selected, header+i]
1

or more than "pythonical"

Đối với những gì nó có giá trị, bạn có thể cố gắng tạo ra các biến theo cách "sai", tức là bằng cách sửa đổi từ điển giữ các giá trị của chúng. 29 tháng 6, 2009 lúc 19. 44

Nhưng đó thực sự là hình thức xấu, và thậm chí có thể không chắc chắn để làm việc. eduffy

Đã trả lời ngày 29 tháng 6 năm 2009 lúc 19. 4512 huy hiệu vàng93 huy hiệu bạc91 huy hiệu đồng

1

Làm thế nào để bạn thay đổi tên biến trong vòng lặp trong Python?

Sử dụng chuỗi định dạng để tạo các tên biến khác nhau trong vòng lặp. Sử dụng một vòng lặp và phạm vi [bắt đầu, dừng] để lặp lại trong phạm vi từ đầu đến dừng. Bên trong vòng lặp, hãy sử dụng cú pháp định dạng chuỗi Dictax ["Key %s" %number %] = value để ánh xạ nhiều từ khóa khác nhau trong Dict cho cùng một giá trị. . Sử dụng vòng lặp for và phạm vi [bắt đầu, dừng] để lặp qua một phạm vi từ đầu đến dừng. Bên trong vòng lặp for, sử dụng cú pháp định dạng chuỗi dict["key%s" % number] = value để ánh xạ nhiều khóa khác nhau trong dict thành cùng một giá trị.

Chúng ta có thể thay đổi tên biến trong vòng lặp không?

You can't change name of a variable. Những điều bạn có thể muốn làm là tạo các giá trị mới với tên mới mỗi lần thông qua vòng lặp

Chủ Đề